//
//  NSObject+KLSwizzle.h
//  KoalaUtilKit
//
//  Created by Tommy on 15/1/29.
//  Copyright (c) 2015年 Koala Team. All rights reserved.
//
#import <Foundation/Foundation.h>

#ifndef KLHookedMethod
    #define KLHookedMethod(name)                _kl_hooked_##name
    #define KLHookedSel(name)                   @selector(KLHookedMethod(name))
    #define KLHOOK_INST_SEL(cls,orgSel,newSel) [cls kl_swizzleInstanceSelector:orgSel withNewSelector:newSel]
    #define KLHOOK_CLS_SEL(cls,orgSel,newSel)  [cls kl_swizzleClassSelector:orgSel withNewSelector:newSel]
#endif


@interface NSObject (KLSwizzle)

+ (void)kl_swizzleInstanceSelector:(SEL)originalSelector
                withNewSelector:(SEL)newSelector;

+ (void)kl_swizzleClassSelector:(SEL)originalSelector
                   withNewSelector:(SEL)newSelector;

@end
